home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 233 / Computer Shopper 233 / ComputerShopperDVD233.iso / mpf / eng / shared / agentdui.cab / scui.dll / HTML / MSK.VBS < prev    next >
Encoding:
Text File  |  2005-07-27  |  8.2 KB  |  353 lines

  1. Option Explicit
  2.  
  3. Const MSK_REG_KEY_PATH_STR  = "HKLM\Software\McAfee.com\Agent\Apps\MSK"
  4. Const MSK_REG_KEY_STR       = "InstallDir"
  5.  
  6. Const MSK_REG_KEY_SPAMKILLER_STR  = "HKLM\Software\McAfee.com\SpamKiller"
  7. Const MSK_REG_INSTALLKEY_STR       = "Install Dir"
  8.  
  9. Const MSK_AGENT_MODULE_NAME_STR     = "MSKAgent.exe"
  10. Const MSK_LEGACY_MODULE_NAME_STR    = "spamkiller.exe"
  11.  
  12. Const MSK_CMDARG_START_STR      = " Resume"
  13. Const MSK_CMDARG_SUSPEND_STR    = " Suspend"
  14. Const MSK_CMDARG_ABOUT_STR      = " About"
  15. Const MSK_CMDARG_VIEW_EMAIL_STR = " Open"
  16. Const MSK_CMDARG_SHOW_SUMMARY_STR = "Summary"
  17. Const MSK_CMDARG_OPTIONS_STR    = " Settings"
  18. Const MSK_CMDARG_VERIFYSUBSCRIPTION_STR = " Verify"
  19.  
  20. Const APPID_MSKAGENT = "{CCEDC87D-319E-4ec9-BD4C-02102CAAB664}"
  21. Const CLSID_MSKAGENT = "{FC3A92E5-E051-42ea-BBDA-F8F38D074FF8}"
  22.  
  23. Const MSKAGENT_MIN_VERSION = "5,0,0,0"
  24.  
  25. Dim g_fBusyProcessing
  26. g_fBusyProcessing = False
  27. '0 == Application started
  28. '1 == Application could not be started
  29. Function LaunchProgram( szPath, szCmdLine, eResult )
  30. '{
  31.     eResult = 1
  32.  
  33.     If False = IsObject( g_localObjOS ) Then
  34.         LaunchProgram = eResult
  35.         Exit Function
  36.     End If
  37.  
  38.     If False = IsObject( g_localObjFS ) Then
  39.         LaunchProgram = eResult
  40.         Exit Function
  41.     End If
  42.  
  43.     If g_localObjOS is nothing Or _
  44.         g_localObjFS is nothing Then
  45.     '{
  46.         LaunchProgram = eResult
  47.         Exit Function
  48.     '}
  49.     End If
  50.  
  51.     If "" <> szPath And "" <> szCmdLine Then
  52.     '{
  53.         If 0 = g_localObjOS.RunProgram( szPath, CStr(szCmdLine) ) Then
  54.             eResult = 1
  55.         Else 
  56.             eResult = 0
  57.         End If
  58.     '}
  59.     End If
  60.     LaunchProgram = eResult
  61. '}
  62. End Function
  63.  
  64. '// Return Values:
  65. '// -2: If MSK is not installed.
  66. '// -1: Error code.
  67. '// 0: If Old MSK is installed.
  68. '// 1: If current MSK is installed.
  69. Function IsMSKInstalled( objReg, objOS, objFS )
  70.   'Default value an error occurred
  71.  
  72.   Dim currMSK
  73.   currMSK = IsCurrentMSKInstalled(objReg, objOS, objFS)
  74.  
  75.  
  76.   Select Case currMSK
  77.     Case -2, -1
  78.       IsMSKInstalled = IsLegacyMSKInstalled(objReg, objOS, objFS)
  79.     Case 0
  80.       IsMSKInstalled = 0
  81.     Case 1
  82.       IsMSKInstalled = 1
  83.     Case Else
  84.       IsMSKInstalled = -1
  85.   End Select  
  86. End Function
  87.  
  88. '// Return Values:
  89. '// -2: If MSK is not installed.
  90. '// -1: Error code.
  91. '// 0: If old MSK is installed.
  92. '// 1: If current MSK is installed (as denoted by MSKAGENT_MIN_VERSION).
  93. Function IsCurrentMSKInstalled( objReg, objOS, objFS )
  94. '{
  95.   Dim eResult
  96.     
  97.   'Default value an error occurred
  98.   IsCurrentMSKInstalled = -1
  99.   If False = IsObject( objOS ) Then
  100.     Exit Function
  101.   End If
  102.   
  103.   If objOS Is Nothing Then
  104.     Exit Function
  105.   End If
  106.   
  107.   'Now we default to MSK is not installed.
  108.   IsCurrentMSKInstalled = -2
  109.   eResult = objOS.IsObjectInstalled( CLSID_MSKAGENT, MSKAGENT_MIN_VERSION)
  110.  
  111.   Select Case eResult
  112.   '{
  113.     Case 0
  114.       Exit Function
  115.     Case 1
  116.       IsCurrentMSKInstalled = 0
  117.     Case 2
  118.       IsCurrentMSKInstalled = 1
  119.     Case 3
  120.       IsCurrentMSKInstalled = -2
  121.   '}
  122.   End Select
  123. '}
  124. End Function
  125.  
  126. '// Return Values:
  127. '// -2: If MSK is not installed.
  128. '// -1: Error code.
  129. '// 0: If Legacy MSK is installed.
  130. '// 2: If Old Non-Agent-Aware MSK is installed.
  131. Function IsLegacyMSKInstalled( g_localObjReg, g_localObjOS, g_localObjFS )
  132. '{
  133.     Dim bOldOfuscate, szHomePage, szPath
  134.     
  135.     'Default value is Not Installed
  136.     IsLegacyMSKInstalled = -2
  137.     bOldOfuscate = g_localObjReg.obfuscate
  138.     g_localObjReg.obfuscate = FALSE
  139.     
  140.     szPath = g_localObjReg.RegQueryValue( MSK_REG_KEY_SPAMKILLER_STR, MSK_REG_INSTALLKEY_STR )
  141.     g_localObjReg.obfuscate = TRUE
  142.  
  143.     If ( Len(szPath) > 0) Then
  144.         szPath = CStr(szPath) & "\" & MSK_LEGACY_MODULE_NAME_STR
  145.     End If
  146.  
  147.     If (g_localObjFS.IsFile(szPath)) Then
  148.       szHomePage = g_localObjReg.RegQueryValue( CStr("HKLM\Software\McAfee.com\Agent\Apps\MSK"), CStr("HomePage") )
  149.       If (0 < Len(szHomePage)) Then
  150.         'File exist and reg key is set
  151.         IsLegacyMSKInstalled = 0
  152.       Else
  153.         'File exists but reg key is not set
  154.         IsLegacyMSKInstalled = 2
  155.       End If
  156.     End If
  157.  
  158.     g_localObjReg.obfuscate = bOldOfuscate
  159.  
  160. '}
  161. End Function
  162.  
  163. '// 
  164. '// IsMSKEnabled(): Return Values.
  165. '//
  166. '// -1: Error Code
  167. '// 0: Application is not running
  168. '// 1: Application is running.
  169. '// 2: Application is shutting down.
  170. ' True = Enabled, False = Disabled.
  171. ' szError returns a string description of the error. Typically should be used
  172. ' only if an error was returned.
  173.  
  174. ' The only error return value from this function is -1, or CFGUSER_GENERIC_ERROR
  175. Function IsMSKEnabled()
  176. '{
  177.   Dim bOldOfuscate, dwState
  178.  
  179.   If g_localObjReg Is Nothing Then
  180.     IsMSKEnabled = 0
  181.     Exit Function
  182.   End If
  183.  
  184.   bOldOfuscate = g_localObjReg.obfuscate
  185.  
  186.   g_localObjReg.obfuscate = True
  187.  
  188.   dwState = g_localObjReg.RegQueryValue( CStr("HKLM\Software\McAfee.com\Agent\Apps\MSK"), CStr("State") )
  189.   If 0 = dwState Then
  190.     IsMSKEnabled = 0
  191.   Else
  192.     IsMSKEnabled = 1
  193.   End If
  194.  
  195.   g_localObjReg.obfuscate = bOldOfuscate
  196. '}
  197. End Function
  198.  
  199. Function ActionMSK( szCmdlineArg )
  200. '{
  201.   Dim eResult 
  202.   Dim szPath
  203.   Dim szCmdLine
  204.  
  205.   Dim bOldOfuscate
  206.   If (g_fBusyProcessing = False) Then
  207.       g_fBusyProcessing = True
  208.       bOldOfuscate = g_localObjReg.obfuscate
  209.  
  210.       g_localObjReg.obfuscate = TRUE
  211.  
  212.       szPath = g_localObjReg.RegQueryValue( MSK_REG_KEY_PATH_STR, MSK_REG_KEY_STR )
  213.       szPath = CStr(szPath & "\" & MSK_AGENT_MODULE_NAME_STR)
  214.  
  215.       g_localObjReg.obfuscate = bOldOfuscate
  216.  
  217.       LaunchProgram szPath, szCmdlineArg, eResult 
  218.       g_fBusyProcessing = False
  219.   Else
  220.     ' Ignore request and perhaps message user to wait...
  221.   End If
  222. '}
  223. End Function
  224.  
  225. Function EnableMSK()
  226. '{
  227.     EnableMSK = -1
  228.  
  229.   Call g_objDispMskAgent.EnableMSK( True )
  230.   'Call ActionMSK( MSK_CMDARG_START_STR )
  231.  
  232.     EnableMSK = 0
  233. '}
  234. End Function
  235.  
  236. Function DisableMSK()
  237. '{
  238.     DisableMSK = -1
  239.  
  240.   Call g_objDispMskAgent.EnableMSK( False )
  241.   'Call ActionMSK( MSK_CMDARG_SUSPEND_STR )
  242.  
  243.     DisableMSK = 0
  244. '}
  245. End Function
  246.  
  247. Function ShowViewEmail()
  248. '{
  249.   Call g_objDispMskAgent.ViewBlockedMail
  250.   'Call ActionMSK( MSK_CMDARG_VIEW_EMAIL_STR )
  251. '}
  252. End Function
  253.  
  254. Function ShowSummary()
  255. '{
  256.   Call g_objDispMskAgent.ViewSummary
  257.   'Call ActionMSK( MSK_CMDARG_SHOW_SUMMARY_STR )
  258. '}
  259. End Function
  260.  
  261. Function ShowOptions()
  262. '{
  263.   Call g_objDispMskAgent.ViewOptions
  264.   'Call ActionMSK( MSK_CMDARG_OPTIONS_STR )
  265. '}
  266. End Function
  267.  
  268. Function ShowAbout()
  269. '{
  270.   Call g_objDispMskAgent.ViewAbout
  271.   'Call ActionMSK( MSK_CMDARG_ABOUT_STR )
  272. '}
  273. End Function
  274.  
  275. Function OnEnableMSK()
  276. '{
  277.     EnableMSK()
  278.  
  279.     'Now we have a Timer that calls GetNewMSKState every 1500 msec
  280.     'which in turn calls these functions, so we don't need to call it here...
  281.     'SetDocumentTitleString()
  282. '}
  283. End Function
  284.  
  285. Function OnDisableMSK()
  286. '{
  287.     DisableMSK()
  288.  
  289.     'Now we have a Timer that calls GetNewMSKState every 1500 msec
  290.     'which in turn calls these functions, so we don't need to call it here...
  291.     'SetDocumentTitleString()
  292. '}
  293. End Function
  294.  
  295.  
  296. ' NOTE: If expiration regvalue is _missing_ for MSK, we assume it is a persistent version of the software (i.e., Not Expired)
  297. '1 = Expired, 0 = Not Expired
  298. Const dwDef = 0
  299. Function IsMSKExpired()
  300. '{
  301.     Dim    szExpDate
  302.  
  303.     If g_localObjInstaller is nothing Or Not IsObject( g_localObjInstaller ) Then
  304.         IsMSKExpired = dwDef
  305.         Exit Function
  306.     End If
  307.         
  308.     szExpDate = ""
  309.     g_localObjInstaller.GetExpiryDate "HKLM\Software\McAfee.com\SpamKiller", "Settings", szExpDate 
  310.  
  311.     If Len(szExpDate) <> 8 Then
  312.         IsMSKExpired = dwDef
  313.         Exit Function
  314.     End If
  315.  
  316.     Dim szExpYear, szExpMonth, szExpDay
  317.     szExpYear = Left( szExpDate, 4 )
  318.     szExpMonth = Mid( szExpDate, 5, 2 )
  319.     szExpDay = Mid( szExpDate, 7, 2)
  320.  
  321.     Dim glExpYear, glExpMonth, glExpDay
  322.  
  323.     glExpYear  = CStr( szExpYear )
  324.     glExpMonth = CStr( szExpMonth )
  325.     glExpDay   = CStr( szExpDay )
  326.  
  327.     Dim actualExpiryDate
  328.     actualExpiryDate = DateSerial( glExpYear, glExpMonth, glExpDay )
  329.  
  330.     If False = IsDate( actualExpiryDate ) Then
  331.     '{
  332.         'Tampered Expiry setting
  333.         IsMSKExpired = 1
  334.         Exit Function
  335.     '}
  336.     End If
  337.  
  338.     If DateDiff( "d", Date, actualExpiryDate ) >= 0 Then
  339.         IsMSKExpired = 0
  340.     Else
  341.         IsMSKExpired = 1
  342.     End If
  343.         
  344. '}
  345. End Function
  346.  
  347. Function OnVerifyMSK()
  348. '{
  349.     Call ActionMSK( MSK_CMDARG_VERIFYSUBSCRIPTION_STR )
  350. '}
  351. End Function
  352.  
  353.